package com.tianshi.yingxue.page;

import lombok.Data;

/**
 * 统一接口响应结果（前端所有请求通用）
 */
@Data
public class Result<T> {
    /**
     * 状态码（200=成功，500=失败）
     */
    private Integer code;

    /**
     * 指示信息（如"删除成功""类别不存在"）
     */
    private String message;

    /**
     * 响应数据（分页结果/列表/单个对象）
     */
    private T data;

    // 无参构造
    public Result() {
    }

    // 成功响应（无数据）
    public static <T> Result<T> success(String message) {
        Result<T> result = new Result<>();
        result.setCode(200);
        result.setMessage(message);
        return result;
    }

    // 成功响应（有数据）
    public static <T> Result<T> success(String message, T data) {
        Result<T> result = new Result<>();
        result.setCode(200);
        result.setMessage(message);
        result.setData(data);
        return result;
    }

    // 成功响应（兼容旧代码，只有data）
    public static <T> Result<T> success(T data) {
        Result<T> result = new Result<>();
        result.setCode(200);
        result.setMessage("success");
        result.setData(data);
        return result;
    }

    // 失败响应
    public static <T> Result<T> fail(String message) {
        Result<T> result = new Result<>();
        result.setCode(500);
        result.setMessage(message);
        return result;
    }


}
